package vns.client.service;

import java.util.ArrayList;
import java.util.List;

import vns.shared.ObjectPropertyDTO;
import vns.shared.ObjectPropertyTypeDTO;
import vns.shared.ObjectTypeDTO;

import com.google.appengine.api.datastore.Key;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface ObjectPropertyServiceAsync {

	void Create(ObjectPropertyDTO opropertyDTO,AsyncCallback<ObjectPropertyDTO> callback);	
	void Loadbyid(Key id, AsyncCallback<ObjectPropertyDTO> callback);
	void Update(ObjectPropertyDTO opropertyDTO,
			AsyncCallback<ObjectPropertyDTO> callback);
	void Remove(Key id,AsyncCallback<Boolean> callback);
	void loadall(AsyncCallback<List<ObjectPropertyDTO>> callback);
	void updateall(List<ObjectPropertyDTO> listnew, AsyncCallback<Void> callback);
	void Loadall(ObjectPropertyTypeDTO optypeDTO,
			AsyncCallback<ArrayList<ObjectPropertyDTO>> callback);
	void Loadall(ObjectTypeDTO otypeDTO,
			AsyncCallback<ArrayList<ObjectPropertyDTO>> callback);
	void Updateall(List<ObjectPropertyDTO> listNew,
			ObjectPropertyTypeDTO optypeDTO, AsyncCallback<Void> callback);
	void Updateall(List<ObjectPropertyDTO> listNew, ObjectTypeDTO otypeDTO,
			AsyncCallback<Void> callback);
}
